<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="zh" xml:lang="zh" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Task Descriptor: Define Test Details</title>
<meta name="uma.type" content="TaskDescriptor">
<meta name="uma.name" content="define_test_details">
<meta name="uma.presentationName" content="Define Test Details">
<meta name="uma.guid" content="_pY0GcEohEdqrjq4i3fchvA">
<meta name="element_type" content="TaskDescriptor">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../css/default.css" type="text/css">
<script src="./../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ActivityTreeTable.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ProcessElementPage.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script src="./../../scripts/processElementData.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var defaultQueryStr = '?proc={35359DDF-6361-43E5-8B1B-18D204DA8CFF}&path={35359DDF-6361-43E5-8B1B-18D204DA8CFF},{7BD514AF-19F9-408F-8279-309BD153C157},_pY0GcEohEdqrjq4i3fchvA';
					var backPath = './../../';
					var imgPath = './../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo, defaultQueryStr, true, true, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top">
<div id="page-guid" value="_pY0GcEohEdqrjq4i3fchvA"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Task Descriptor: Define Test Details</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../images/taskdes_lg_dgm32.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">This task describes how to detail the test ideas within a specific context driven by the target test items.</td>
</tr>
<tr>
<td>Based on Method Task: <a href="./../../rup/tasks/define_test_details_2B6BD36F.html" guid="{1F825D50-70B1-48BA-B99F-010F6B44B77B}">Define Test Details</a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Roles</th><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Main:
								</span>
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_analyst_F836F4E6.html" guid="_pZATsEohEdqrjq4i3fchvA">测试分析人员</a>
</li>
</ul>
</td><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Additional:
								</span></td><td class="sectionTableCell"><span class="sectionTableCellHeading">Assisting:
								</span></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Inputs</th><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Mandatory:
								</span>
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_strategy_7FB79B6B.html" guid="_CTmsIhi2Edq_uI8xTPML6g">测试策略</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_ideas_list_847A8DF9.html" guid="_CT5AAhi2Edq_uI8xTPML6g">测试构想列表</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_data_FA46B83.html" guid="_CTmsKBi2Edq_uI8xTPML6g">测试数据</a>
</li>
</ul>
</td><td class="sectionTableCell" width="30%"><span class="sectionTableCellHeading">Optional:
								</span>
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_change_request_C30A19AE.html" guid="_pZMg8kohEdqrjq4i3fchvA">变更请求</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_supplementary_specification_C9D32588.html" guid="_pZMg8EohEdqrjq4i3fchvA">补充规约</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_interface_specification_D4364DA2.html" guid="_CTmsLBi2Edq_uI8xTPML6g">测试接口规约</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_data_FA46B83.html" guid="_CTmsKBi2Edq_uI8xTPML6g">测试数据</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_case_DED42DB2.html" guid="_CTmsLRi2Edq_uI8xTPML6g">测试用例</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_storyboard_D4710598.html" guid="_pZMg8UohEdqrjq4i3fchvA">故事板</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_usecase_8F186E09.html" guid="_CT5AAxi2Edq_uI8xTPML6g">用例</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_use_case_realization_CD6D41C8.html" guid="_CTmsLhi2Edq_uI8xTPML6g">用例实现</a>
</li>
</ul>
</td><td class="sectionTableCell"><span class="sectionTableCellHeading">External:
								</span>
<ul>
<li>None</li>
</ul>
</td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row">Outputs</th><td class="sectionTableCell" colspan="3">
<ul>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_script_53AA5028.html" guid="_CT5ABxi2Edq_uI8xTPML6g">测试脚本</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_data_FA46B83.html" guid="_CTmsKBi2Edq_uI8xTPML6g">测试数据</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_test_case_DED42DB2.html" guid="_CTmsLRi2Edq_uI8xTPML6g">测试用例</a>
</li>
<li>
<a href="./../../rup/capabilitypatterns/rup_workload_analysis_model_4EE75D9A.html" guid="_CTmsJxi2Edq_uI8xTPML6g">工作负载分析模型</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Steps</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="sectionTableCell">
<div class="stepHeading"> Examine the Target Test Item and related Test-Ideas List </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="ExamineTargetTestItem" name="ExamineTargetTestItem"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To gain a more detailed understanding of the Targeted Test Item based on the possible Test Ideas.&nbsp;
            </td>
        </tr>
    </table><br />
</div>
<p>
    Using the Test-Ideas List as context, examine the available information about the Target Test Item. The Use Case and
    related work products (e.g. Use-Case Realization, Use-Case Storyboard and Use-Case Scenarios) are usually good sources
    to begin with, in addition to any Supplementary Specifications, Business Rules and design work products.
</p>
<p>
    Where limited information is available to you, you may need to discuss the Target Test Item with the development staff
    directly.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> Select a subset of the Test Ideas to detail </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="SelectTestIdeas" name="SelectTestIdeas"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To determine a manageable subset of tests to define that are of most benefit in the current context.&nbsp;
            </td>
        </tr>
    </table><br />
</div>
<p>
    Review the Test-Ideas List and pick a number of the test ideas that you will design detailed tests for. In most cases
    you will pick a subset of the test ideas, based on time constraints, relevance of the test ideas to the current test
    cycle, completeness of the Target Test Item and so forth. Depending on the specific context of your situation the
    actual number of test ideas you take forward into design in the current test cycle will differ on a case-by-case basis.
</p>
<p>
    We recommend that you avoid designing for all test ideas the first time you design from a given Test-Ideas List.
    Instead, take an incremental and iterative approach to working with the Test-Ideas List, focusing your efforts instead
    on the few ideas that you think are most likely to produce useful evaluation information for the given test cycle. This
    helps to mitigate the risk of devoting too much time to a single Target Test Item to the neglect of other items, and
    minimizes the risk of expending effort on designs for test ideas that may later prove of little interest.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> For each test idea, design the Test </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="DesignTest" name="DesignTest"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To define the key characteristics of each test that is to be derived from the Test-Ideas List.&nbsp;
            </td>
        </tr>
    </table><br />
    Using the information you've gathered so far, design the test by identifying and defining the key characteristics that
    will be necessary to realize the test. Note that the resulting test design may be captured in different ways:
</div>
<ul>
    <li>
        Traditionally, test design was captured as a <a class="elementLinkWithType" href="./../../rup/workproducts/rup_test_case_8AFEC963.html" guid="{D525758B-EBA2-4F59-9BA6-226820C27ADD}">Artifact: 测试用例</a>.
    </li>
    <li>
        The <a class="elementLinkWithType" href="./../../rup/workproducts/rup_workload_analysis_model_E86A32FF.html" guid="{008164B1-3AC3-47E8-9F93-EE4C36B58A97}">Artifact: 工作负载分析模型</a> is conceptually a specialized and more complex
        form of Test Case that relates specifically to system performance testing.
    </li>
    <li>
        Depending on the complexity of the test and the project culture, it may be appropriate to realize the test directly
        as a <a class="elementLinkWithType" href="./../../rup/workproducts/rup_test_script_2140080.html" guid="{293A9F23-BB20-4993-AABE-76C1E8E1A589}">Artifact: 测试脚本</a>, an approach you should consider if it is
        acceptable for you not to create Test Case artifacts. If you take this approach, be sure to liberally comment your
        Test Scripts with useful information explaining <b>why</b> the test is useful. Use these comments to act as an
        informal, in-line Test Case.
    </li>
</ul>
<p>
    Using the information you have gathered, consider each of the following aspects of the test.
</p>
<h4>
    <a id="IdentifyIOExeCond" name="IdentifyIOExeCond">identify input, output and execution conditions</a>
</h4>
<p>
    Considering the test from a "Black-box" perspective, identify the key external visible characteristics that define the
    test. Identify what inputs will be required to stimulate the test, and what resulting outputs are to be expected. Also
    enumerate the key execution condition(s)-the "How" of the execution condition does not have to be explained or
    understood for this step.
</p>
<p>
    Note that Inputs and Expected Outputs will-depending on the specific test-range from simple data type values (eg "A",
    "1"), to complex multidimensional data (eg a sound clip, an object). It is better to define the qualifiers behind a
    particular Input or Expected Outputs, rather than just giving specific values. This provides the person subsequently
    implementing or executing the test with the required understanding of the reasoning behind the Test Data, allowing them
    to choose replacement and substitute values to vary the test in any given execution.
</p>
<h4>
    <a id="IdentifyObservePoints" name="IdentifyObservePoints">identify candidate points of observation</a>
</h4>
<p>
    A <a class="elementLinkWithUserText" href="./../../rup/guidances/termdefinitions/point_of_control_and_observation_6180518D.html" target="_blank" guid="_yQc64NnmEdmO6L4XMImrsA"><i>point of observation</i></a> is a point during the execution of a test at which you
    wish to observe some aspect of the state of the test environment. Given what you know of the execution condition(s) and
    the input and expected outputs, identify what specific points should be observed during test execution, and identify
    what a data should be observed.
</p>
<h4>
    <a id="IdentifyControlPoints" name="IdentifyControlPoints">identify candidate points of control</a>
</h4>
<p>
    A <a class="elementLinkWithUserText" href="./../../rup/guidances/termdefinitions/point_of_control_and_observation_6180518D.html" target="_blank" guid="_yQc64NnmEdmO6L4XMImrsA"><i>point of control</i></a> is a point during the execution of a test at which you wish
    to make a decision from multiple choices regarding the test's flow of control. Investigate the Test Scenarios that are
    available, and for each consider the points at which control will vary through different executions of the test.
    Collate all of the different points of control and reduce the list to those needed for the current test cycle.
</p>
<h4>
    <a id="IdentifyOracles" name="IdentifyOracles">Identify appropriate test oracles</a>
</h4>
<p>
    A <a class="elementLink" href="./../../rup/guidances/termdefinitions/test_oracle_CB9E18A9.html" target="_blank" guid="_yYNIs9nmEdmO6L4XMImrsA">测试预测（test oracle）</a> combines both the expected output values to be tested for, and the
    means by which those values can be divined: it's both the response given and the medium through which it is given. For
    example, to verify the accurate representation of fonts used in a word processing package, print preview might be used
    as the medium by which the font presentation can be verified. The test oracle identifies aspects of both form and
    function that are necessary to verify the actual results of the test against the expected results.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> Define required data sources, values and ranges </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="DefineDataSources" name="DefineDataSources"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To define the required Test Data values, including appropriate sources for that data.&nbsp;
            </td>
        </tr>
    </table><br />
</div>
<p>
    As mentioned previously, Test Data comes in many shapes-and-forms.
</p>
<p>
    Where complex data-interdependencies are likely, try to make use of Domain Experts to specify appropriate Test Data
    conditions. Some test productivity tools provide features or utilities that enable simplified generation of Test Data
    sets.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> Source sufficient consumable Test Data </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="SourceTestData" name="SourceTestData"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To source and record sufficient valid Test Data to support the test.&nbsp;
            </td>
        </tr>
    </table><br />
</div>
<p>
    The accurate generation or collation of appropriate Test Data is one of the most arduous and time consuming tasks in
    defining a test. This is especially true where the system of a class that is data intensive.
</p>
<p>
    We recommend recording Test Data in Microsoft&reg; Excel&reg; or another product with a tabular data management interface, such
    as Microsoft&reg; Access&reg;.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> Maintain traceability relationships </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="Traceability" name="Traceability"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To enable impact analysis and assessment reporting to be performed on the traced items.&nbsp;
            </td>
        </tr>
    </table><br />
</div>
<p>
    Using the Traceability requirements outlined in the Test Plan, update the traceability relationships as required.
</p></td>
</tr>
</table>
</div>
<div class="stepHeading"> Evaluate and verify your results </div>
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td><a id="EvaluateResults" name="EvaluateResults"></a>
<div align="left">
    <table border="1" width="100%" cellspacing="0" cellpadding="4" style="border: 1px solid rgb(128,128,128)"     bordercolorlight="#808080" bordercolordark="#808080">
        <tr>
            <td width="5%">
                <b>Purpose:</b>&nbsp;
            </td>
            <td width="95%">
                To verify that the task has been completed appropriately and that the resulting work products are
                acceptable.&nbsp;
            </td>
        </tr>
    </table><br />
</div>
<p>
    Now that you have completed the work, it is beneficial to verify that the work was of sufficient value, and that you
    did not simply consume vast quantities of paper. You should evaluate whether your work is of appropriate quality, and
    that it is complete enough to be useful to those team members who will make subsequent use of it as input to their
    work. Where possible, use the checklists provided in NUP to verify that quality and completeness are "good enough".
</p>
<p>
    Have the people performing the downstream tasks that rely on your work as input take part in reviewing your interim
    work. Do this while you still have time available to take action to address their concerns. You should also evaluate
    your work against the key input work products to make sure you have represented them accurately and sufficiently. It
    may be useful to have the author of the input work product review your work on this basis.
</p>
<p>
    Try to remember that that NUP is an iterative process and that in many cases work products evolve over time. As such,
    it is not usually necessary-and is often counterproductive-to fully-form a work product that will only be partially
    used or will not be used at all in immediately subsequent work. This is because there is a high probability that the
    situation surrounding the work product will change-and the assumptions made when the work product was created proven
    incorrect-before the work product is used, resulting in wasted effort and costly rework. Also avoid the trap of
    spending too many cycles on presentation to the detriment of content value. In project environments where presentation
    has importance and economic value as a project deliverable, you might want to consider using an administrative resource
    to perform presentation tasks.
</p><br />
<br /></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Properties</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Multiple Occurrences" abbr="Multiple Occurrences">Multiple Occurrences</th><td class="sectionTableCell" align="left" headers="property_Multiple Occurrences"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Event Driven" abbr="Event Driven">Event Driven</th><td class="sectionTableCell" align="left" headers="property_Event Driven"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Ongoing" abbr="Ongoing">Ongoing</th><td class="sectionTableCell" align="left" headers="property_Ongoing"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Optional" abbr="Optional">Optional</th><td class="sectionTableCell" align="left" headers="property_Optional"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Planned" abbr="Planned">Planned</th><td class="sectionTableCell" align="left" headers="property_Planned"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
<tr valign="top">
<th class="sectionTableHeading" scope="row" id="property_Repeatable" abbr="Repeatable">Repeatable</th><td class="sectionTableCell" align="left" headers="property_Repeatable"><img width="20" height="15" alt="" title="" src="./../../images/indent.gif"></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright">Copyright &copy; 2008 版权所有 东软集团股份有限公司&nbsp; 联系邮箱:<a href="mailto:tcoe@neusoft.com">tcoe@neusoft.com</a></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script language="JavaScript" type="text/javascript">
					contentPage.onload();
					contentPage.processPage.fixDescriptorLinks();
				</script>
</html>
